.TH IPERF 1 "APRIL 2008" NLANR/DAST "User Manuals"
.SH NAME
iperf \- perform network throughput tests
.SH SYNOPSIS
.B iperf -s [
.I options
.B ]

.B iperf -c 
.I server
.B [
.I options
.B ]

.B iperf -u -s [
.I options
.B ]

.B iperf -u -c 
.I server
.B [
.I options
.B ]
.SH DESCRIPTION
iperf is a tool for performing network throughput measurements.  It can test
either TCP or UDP throughput.  To perform an iperf test the user must
establish both a server (to discard traffic) and a client (to generate
traffic).  
.SH "GENERAL OPTIONS"
.TP
.BR -f ", " --format " "
[kmKM]   format to report: Kbits, Mbits, KBytes, MBytes
.TP
.BR -h ", " --help " "
print a help synopsis
.TP
.BR -i ", " --interval " \fIn\fR"
pause \fIn\fR seconds between periodic bandwidth reports
.TP
.BR -l ", " --len " \fIn\fR[KM]"
set length read/write buffer to \fIn\fR (default 8 KB)
.TP
.BR -m ", " --print_mss " "
print TCP maximum segment size (MTU - TCP/IP header)
.TP
.BR -o ", " --output " <filename>"
output the report or error message to this specified file
.TP
.BR -p ", " --port " \fIn\fR"
set server port to listen on/connect to to \fIn\fR (default 5001)
.TP
.BR -u ", " --udp " "
use UDP rather than TCP
.TP
.BR -w ", " --window " \fIn\fR[KM]"
TCP window size (socket buffer size)
.TP
.BR -B ", " --bind " <host>"
bind to <host>, an interface or multicast address
.TP
.BR -C ", " --compatibility " "
for use with older versions does not sent extra msgs
.TP
.BR -M ", " --mss " \fIn\fR"
set TCP maximum segment size (MTU - 40 bytes)
.TP
.BR -N ", " --nodelay " "
set TCP no delay, disabling Nagle's Algorithm
.TP
.BR -v ", " --version " "
print version information and quit
.TP
.BR -V ", " --IPv6Version " "
Set the domain to IPv6
.TP
.BR -x ", " --reportexclude " "
[CDMSV]   exclude C(connection) D(data) M(multicast) S(settings) V(server) reports
.TP
.BR -y ", " --reportstyle " C|c"
if set to C or c report results as CSV (comma separated values)
.SH "SERVER SPECIFIC OPTIONS"
.TP
.BR -s ", " --server " "
run in server mode
.TP
.BR -U ", " --single_udp " "
run in single threaded UDP mode
.TP
.BR -D ", " --daemon " "
run the server as a daemon
.SH "CLIENT SPECIFIC OPTIONS"
.TP
.BR -b ", " --bandwidth " \fIn\fR[KM]"
set target bandwidth to \fIn\fR bits/sec (default 1 Mbit/sec).
This setting requires UDP (-u).
.TP
.BR -c ", " --client " <host>"
run in client mode, connecting to <host>
.TP
.BR -d ", " --dualtest " "
Do a bidirectional test simultaneously
.TP
.BR -n ", " --num " \fIn\fR[KM]"
number of bytes to transmit (instead of -t)
.TP
.BR -r ", " --tradeoff " "
Do a bidirectional test individually
.TP
.BR -t ", " --time " \fIn\fR"
time in seconds to transmit for (default 10 secs)
.TP
.BR -F ", " --fileinput " <name>"
input the data to be transmitted from a file
.TP
.BR -I ", " --stdin " "
input the data to be transmitted from stdin
.TP
.BR -L ", " --listenport " \fIn\fR"
port to recieve bidirectional tests back on
.TP
.BR -P ", " --parallel " \fIn\fR"
number of parallel client threads to run
.TP
.BR -T ", " --ttl " \fIn\fR"
time-to-live, for multicast (default 1)
.TP
.BR -Z ", " --linux-congestion " <algo>"
set TCP congestion control algorithm (Linux only)
.SH ENVIRONMENT
.TP
.BR TCP_WINDOW_SIZE
Controls the size of TCP buffers.
.SH DIAGNOSTICS
This section needs to be filled in.
.SH BUGS
Exit statuses are inconsistent.
The threading implementation is rather heinous.
.SH AUTHORS
Iperf was originally written by Mark Gates and Alex Warshavsky.
Man page and maintence by Jon Dugan <jdugan at x1024 dot net>.
Other contributions from Ajay Tirumala, Jim Ferguson,
Feng Qin,
Kevin Gibbs,
John Estabrook <jestabro at ncsa.uiuc.edu>,
Andrew Gallatin <gallatin at gmail.com>,
Stephen Hemminger <shemminger at linux-foundation.org>
.SH "SEE ALSO"
http://iperf.sourceforge.net/
